package edu.yngsxy.communityservice.sys.dao;


import edu.yngsxy.communityservice.core.dao.WkBaseMapper;
import edu.yngsxy.communityservice.sys.model.dto.SysUserDTO;
import edu.yngsxy.communityservice.sys.model.entity.SysUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 用户：存储系统用户信息 Mapper 接口
 * </p>
 *
 * @author qyc
 * @since 2025-08-30
 */
@Mapper
public interface SysUserMapper extends WkBaseMapper<SysUser> {
    /**
     * 根据用户ID查询用户信息（包含角色和权限列表）
     * @param userId 用户ID
     * @return 用户实体
     */
    SysUserDTO selectWithRolePermissionByUserId(@Param("userId") Long userId);

    /**
     * 动态更新用户（仅更新非空字段）
     * @param user 用户实体
     * @return 影响行数
     */
    int updateUserSelective(SysUser user);
}
